﻿Imports Oracle.DataAccess.Client
Imports System.Data.OleDb

Partial Class DenunciasAdm
    Inherits System.Web.UI.Page
    Private x As Integer
    Private Cmd As OracleCommand
    Private dt As Data.DataTable
    Private Cnx As OracleConnection
    Private oradb As String = "Data Source=XE;User Id=SIRA;Password=SIRA123;"
    Private Sql As String
    Private Aux As String
    Private dr As OracleDataReader

    Protected Sub LiberarRecursos()
        Cnx.Close()
        dr.Dispose()
        Cmd.Dispose()
        Cnx.Dispose()
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        lblUserNick.Text = Session("VarSessionUserNick")
        lblUserNombre.Text = Session("VarSessionUserNombre")
        lblUserIdCategoria.Text = Session("VarSessionUserIdCategoria")
        lblUserCategoria.Text = Session("VarSessionUserCategoria")
        lblUserIdComisaria.Text = Session("VarSessionUserIdComisaria")
        lblUserComisaria.Text = Session("VarSessionUserComisaria")
        lblUserIdNodo.Text = Session("VarSessionUserIdNodo")
        lblUserNodo.Text = Session("VarSessionUserNodo")
        lblUserIdUsuario.Text = Session("VarSessionUserIdUsuario")
        MostrarTablaDenuncias()
    End Sub
    Protected Sub MostrarTablaDenuncias()
        Cnx = New OracleConnection(oradb)
        Sql = "SELECT Denuncias.IdDenuncia , Denuncias.IdComisaria_Alta , ComiAlta.Descripcion ComiAltaDesc, " & _
              "Denuncias.IdNodo_Alta , NodoAlta.Descripcion NodoAltaDesc, " & _
              "Denuncias.IdUsuario_Alta , UserAlta.Nombre , " & _
              "Denuncias.IdUsuario_Mod , UserMod.Nombre , " & _
              "Denuncias.Patente , Denuncias.Fecha_Alta , " & _
              "Denuncias.IdComisaria_Mod , ComiMod.Descripcion ComiModDesc, " & _
              "Denuncias.IdNodo_Mod , NodoMod.Descripcion NodoModDesc, " & _
              "Denuncias.Fecha_Mod , Denuncias.Captura , Denuncias.Recuperado , Denuncias.Observaciones " & _
              "FROM Denuncias, Comisarias ComiAlta, Comisarias ComiMod ,Tbl_Nodos NodoAlta, Tbl_Nodos NodoMod, Usuarios UserAlta, Usuarios UserMod " & _
              "WHERE (NodoAlta.IdNodo=ComiAlta.IdNodo) " & _
              "AND ((ComiAlta.IdNodo=Denuncias.IdNodo_Alta) AND (ComiAlta.IdComisaria=Denuncias.IdComisaria_Alta)) " & _
              "AND (Denuncias.IdUsuario_Alta=UserAlta.IdUsuario) " & _
              "AND ((ComiAlta.IdNodo=Denuncias.IdNodo_Alta) And (ComiAlta.IdComisaria=Denuncias.IdComisaria_Alta)) " & _
              "AND (Denuncias.IdUsuario_Mod=UserMod.IdUsuario) " & _
              "AND ((ComiMod.IdNodo=Denuncias.IdNodo_Mod) And (ComiMod.IdComisaria=Denuncias.IdComisaria_Mod)) " & _
              "AND (NodoMod.IdNodo=ComiMod.IdNodo) " & _
              "AND ((ComiMod.IdNodo=Denuncias.IdNodo_Mod) AND (ComiMod.IdComisaria=Denuncias.IdComisaria_Mod)) "
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            dr = Cmd.ExecuteReader()
            If Not IsPostBack Then
                While dr.Read()
                    DDLPatentes.Items.Add(dr.Item("Patente"))
                    DDLEliminar.Items.Add(dr.Item("Patente"))
                End While

            End If
            dr = Cmd.ExecuteReader()
            GV2.DataSource = dr
            GV2.DataBind()
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        Finally
        End Try
        LiberarRecursos()
    End Sub

    Protected Sub btnAgregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAgregar.Click
        PanelSeleccion.Visible = False
        PanelFiltro.Visible = False
        PanelEliminar.Visible = False
        PanelEdicion.Visible = True
        ViewState("Accion") = "Agregar"
        LimpiarPanelEdicion()
        CargarDDLPatentes_y_DDLEliminar()
        CargarDDLNodos()
        CargarDDLComisarias()
        CargarDDLUsuarios()
    End Sub

    Protected Sub btnEditar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEditar.Click
        PanelSeleccion.Visible = True
        PanelFiltro.Visible = False
        PanelEliminar.Visible = False
        PanelEdicion.Visible = False
        ViewState("Accion") = "Editar"
        CargarDDLPatentes_y_DDLEliminar()
        CargarDDLNodos()
        CargarDDLComisarias()
        CargarDDLUsuarios()
    End Sub
    Protected Sub btnEliminar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEliminar.Click
        PanelSeleccion.Visible = False
        PanelFiltro.Visible = False
        PanelEliminar.Visible = True
        PanelEdicion.Visible = False
        ViewState("Accion") = "Eliminar"
        CargarDDLPatentes_y_DDLEliminar()
        CargarDDLNodos()
        CargarDDLComisarias()
        CargarDDLUsuarios()
    End Sub
    Protected Sub btnFiltrar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFiltrar.Click
        PanelSeleccion.Visible = False
        PanelFiltro.Visible = True
        PanelEliminar.Visible = False
        PanelEdicion.Visible = False
        ViewState("Accion") = "Filtrar"
        CargarDDLCampos()
    End Sub
    Protected Sub btnAbortar_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles btnSalir.Click, btnSalirPanelEdicion.Click, btnSalirPanelEliminar.Click, btnSalirPanelFiltro.Click
        PanelSeleccion.Visible = False
        PanelEdicion.Visible = False
        PanelEliminar.Visible = False
        PanelFiltro.Visible = False
        ViewState("Accion") = ""
    End Sub
    Protected Sub LimpiarPanelEdicion()
        txtPatente.Text = ""
        txtIdComisaria_Alta.Text = ""
        txtIdNodo_Alta.Text = ""
        txtIdUsuario_Alta.Text = ""
        txtFecha_Alta.Text = ""
        txtIdComisaria_Mod.Text = ""
        txtIdNodo_Mod.Text = ""
        txtIdUsuario_Mod.Text = ""
        txtFecha_Mod.Text = ""
        txtCaptura.Text = ""
        txtRecuperado.Text = ""
        txtObservaciones.Text = ""
        DDLPatentes.SelectedIndex = 0
        DDLComisarias_Alta.SelectedIndex = 0
        DDLNodos_Alta.SelectedIndex = 0
        DDLUsuarios_Alta.SelectedIndex = 0
        DDLComisarias_Mod.SelectedIndex = 0
        DDLNodos_Mod.SelectedIndex = 0
        DDLUsuarios_Mod.SelectedIndex = 0
    End Sub

    Protected Sub btnRecuperar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRecuperar.Click
        DDLComisarias_Alta.SelectedIndex = 0
        DDLNodos_Alta.SelectedIndex = 0
        DDLUsuarios_Alta.SelectedIndex = 0
        DDLComisarias_Mod.SelectedIndex = 0
        DDLNodos_Mod.SelectedIndex = 0
        DDLUsuarios_Mod.SelectedIndex = 0
        txtPatente.Text = ViewState("Patente")
        txtIdComisaria_Alta.Text = ViewState("IdComisariaAlta")
        txtIdNodo_Alta.Text = ViewState("IdNodoAlta")
        txtIdUsuario_Alta.Text = ViewState("IdUsuarioAlta")
        txtFecha_Alta.Text = ViewState("FechaAlta")
        txtIdComisaria_Mod.Text = ViewState("IdComisariaMod")
        txtIdNodo_Mod.Text = ViewState("IdNodoMod")
        txtIdUsuario_Mod.Text = ViewState("IdUsuarioMod")
        txtFecha_Mod.Text = ViewState("FechaMod")
        txtCaptura.Text = ViewState("Captura")
        txtRecuperado.Text = ViewState("Recuperado")
        txtObservaciones.Text = ViewState("Observaciones")
    End Sub

    Protected Sub CargarDDLNodos()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from TBL_Nodos"
        DDLNodos_Alta.Items.Clear()
        DDLNodos_Mod.Items.Clear()
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            DDLNodos_Alta.Items.Add("Su Elección")
            DDLNodos_Mod.Items.Add("Su Elección")
            While dr.Read()
                DDLNodos_Alta.Items.Add(dr.Item("Descripcion"))
                DDLNodos_Mod.Items.Add(dr.Item("Descripcion"))
            End While
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        Finally
        End Try
        LiberarRecursos()
    End Sub
    Protected Sub ObtenerIdNodoAlta()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from TBL_Nodos WHERE Descripcion = '" & DDLNodos_Alta.SelectedValue & "'"
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            If dr.Read() Then
                Aux = dr.Item("IdNodo")
            Else
                MsgBox("No puedo encontrar IdNodo en tabla TBL_Nodos" & vbCrLf, MsgBoxStyle.Critical, _
                       "Error proceso ObtenerIdNodo - Denuncias.aspx")
                LiberarRecursos()
                Exit Sub
            End If
        Catch ex As Exception
            MsgBox("No puedo abrir tabla TBL_Nodos" & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                   "Error proceso ObtenerIdNodo - Denuncias.aspx")
        Finally
        End Try
        LiberarRecursos()
    End Sub
    Protected Sub ObtenerIdNodoMod()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from TBL_Nodos WHERE Descripcion = '" & DDLNodos_Mod.SelectedValue & "'"
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            If dr.Read() Then
                Aux = dr.Item("IdNodo")
            Else
                MsgBox("No puedo encontrar IdNodo en tabla TBL_Nodos" & vbCrLf, MsgBoxStyle.Critical, _
                       "Error proceso ObtenerIdNodo - Denuncias.aspx")
                LiberarRecursos()
                Exit Sub
            End If
        Catch ex As Exception
            MsgBox("No puedo abrir tabla TBL_Nodos" & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                   "Error proceso ObtenerIdNodo - Denuncias.aspx")
        Finally
        End Try
        LiberarRecursos()
    End Sub

    Protected Sub CargarDDLComisarias()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Comisarias"
        DDLComisarias_Alta.Items.Clear()
        DDLComisarias_Mod.Items.Clear()
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            DDLComisarias_Alta.Items.Add("Su Elección")
            DDLComisarias_Mod.Items.Add("Su Elección")
            While dr.Read()
                DDLComisarias_Alta.Items.Add(dr.Item("Descripcion"))
                DDLComisarias_Mod.Items.Add(dr.Item("Descripcion"))
            End While
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        Finally
        End Try
        LiberarRecursos()
    End Sub
    Protected Sub ObtenerIdComisariaAlta()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Comisarias WHERE Descripcion = '" & DDLComisarias_Alta.SelectedValue & "'"
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            If dr.Read() Then
                Aux = dr.Item("IdComisaria")
            Else
                MsgBox("No puedo encontrar IdComisaria en tabla Comisarias" & vbCrLf, MsgBoxStyle.Critical, _
                       "Error proceso ObtenerIdComisaria - Denuncias.aspx")
                LiberarRecursos()
                Exit Sub
            End If
        Catch ex As Exception
            MsgBox("No puedo abrir tabla Comisarias" & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                   "Error proceso ObtenerIdComisaria - Denuncias.aspx")
        Finally
        End Try
        LiberarRecursos()
    End Sub
    Protected Sub ObtenerIdComisariaMod()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Comisarias WHERE Descripcion = '" & DDLComisarias_Mod.SelectedValue & "'"
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            If dr.Read() Then
                Aux = dr.Item("IdComisaria")
            Else
                MsgBox("No puedo encontrar IdComisaria en tabla Comisarias" & vbCrLf, MsgBoxStyle.Critical, _
                       "Error proceso ObtenerIdComisaria - Denuncias.aspx")
                LiberarRecursos()
                Exit Sub
            End If
        Catch ex As Exception
            MsgBox("No puedo abrir tabla Comisarias" & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                   "Error proceso ObtenerIdComisaria - Denuncias.aspx")
        Finally
        End Try
        LiberarRecursos()
    End Sub

    Protected Sub CargarDDLUsuarios()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Usuarios"
        DDLUsuarios_Alta.Items.Clear()
        DDLUsuarios_Mod.Items.Clear()
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            DDLUsuarios_Alta.Items.Add("Su Elección")
            DDLUsuarios_Mod.Items.Add("Su Elección")
            While dr.Read()
                DDLUsuarios_Alta.Items.Add(dr.Item("Nombre"))
                DDLUsuarios_Mod.Items.Add(dr.Item("Nombre"))
            End While
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        Finally
        End Try
        LiberarRecursos()
    End Sub
    Protected Sub ObtenerIdUsuarioAlta()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Usuarios WHERE Nombre = '" & DDLUsuarios_Alta.SelectedValue & "'"
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            If dr.Read() Then
                Aux = dr.Item("IdUsuario")
            Else
                MsgBox("No puedo encontrar IdUsuario en tabla Usuarios" & vbCrLf, MsgBoxStyle.Critical, _
                       "Error proceso ObtenerIdUsuario - Denuncias.aspx")
                LiberarRecursos()
                Exit Sub
            End If
        Catch ex As Exception
            MsgBox("No puedo abrir tabla Usuarios" & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                   "Error proceso ObtenerIdUsuario - Denuncias.aspx")
        Finally
        End Try
        LiberarRecursos()
    End Sub
    Protected Sub ObtenerIdUsuarioMod()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Usuarios WHERE Nombre = '" & DDLUsuarios_Mod.SelectedValue & "'"
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            If dr.Read() Then
                Aux = dr.Item("IdUsuario")
            Else
                MsgBox("No puedo encontrar IdUsuario en tabla Usuarios" & vbCrLf, MsgBoxStyle.Critical, _
                       "Error proceso ObtenerIdUsuario - Denuncias.aspx")
                LiberarRecursos()
                Exit Sub
            End If
        Catch ex As Exception
            MsgBox("No puedo abrir tabla Usuarios" & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                   "Error proceso ObtenerIdUsuario - Denuncias.aspx")
        Finally
        End Try
        LiberarRecursos()
    End Sub

    Protected Sub CargarDDLPatentes_y_DDLEliminar()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Denuncias"
        DDLPatentes.Items.Clear()
        DDLEliminar.Items.Clear()
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            DDLPatentes.Items.Add("Su Elección")
            DDLEliminar.Items.Add("Su Elección")
            While dr.Read()
                DDLPatentes.Items.Add(dr.Item("Patente"))
                DDLEliminar.Items.Add(dr.Item("Patente"))
            End While
            DDLPatentes.SelectedIndex = 0
            DDLEliminar.SelectedIndex = 0
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        Finally
        End Try
        LiberarRecursos()
    End Sub
    Protected Sub CargarDDLCampos()
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Denuncias"
        DDLCampos.Items.Clear()
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            Cmd.ExecuteNonQuery()
            dr = Cmd.ExecuteReader()
            DDLCampos.Items.Add("Su Elección")
            For x = 0 To dr.FieldCount - 1
                DDLCampos.Items.Add(dr.GetName(x))
            Next
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        Finally
        End Try
        LiberarRecursos()
    End Sub

    Protected Sub btnAceptar_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles btnAceptarEdicion.Click, btnAceptarPanelEliminar.Click
        If Page.IsValid Then
            If txtPatente.Text.Length = 0 Then
                labelMessage.Text = "Ingrese patente (LLLNNN) L=Letra N=Numero"
                Exit Sub
            End If
        Else
            labelMessage.Text = "Error en carga de datos - Proceso btnAceptar_Click - Denuncias.aspx"
            Exit Sub
        End If

        If txtFecha_Alta.Text.Length = 0 Then
            labelMessage.Text = "Fecha Alta : no puede ser NULL"
            Exit Sub
        End If
        If DDLNodos_Alta.SelectedIndex = 0 Then
            labelMessage.Text = "Falta seleccionar Nodo Alta"
            Exit Sub
        End If
        If DDLComisarias_Alta.SelectedIndex = 0 Then
            labelMessage.Text = "Falta seleccionar Comisaria Alta"
            Exit Sub
        End If
        If DDLUsuarios_Alta.SelectedIndex = 0 Then
            labelMessage.Text = "Falta seleccionar Usuario Alta"
            Exit Sub
        End If
        If DDLNodos_Mod.SelectedIndex = 0 Then
            labelMessage.Text = "Falta seleccionar Nodo Mod"
            Exit Sub
        End If
        If DDLComisarias_Mod.SelectedIndex = 0 Then
            labelMessage.Text = "Falta seleccionar Comisaria Mod"
            Exit Sub
        End If
        If DDLUsuarios_Mod.SelectedIndex = 0 Then
            labelMessage.Text = "Falta seleccionar Usuario Mod"
            Exit Sub
        End If
        If DDLCaptura.SelectedIndex = 0 Then
            labelMessage.Text = "Falta seleccionar Captura"
            Exit Sub
        End If
        If DDLRecuperado.SelectedIndex = 0 Then
            labelMessage.Text = "Falta seleccionar Recuperado"
            Exit Sub
        End If



        Cnx = New OracleConnection(oradb)
        Cnx.Open()
        Select Case ViewState("Accion")
            Case "Editar"
                Try
                    Sql = "UPDATE Denuncias set " & _
                          "IdComisaria_Alta='" & txtIdComisaria_Alta.Text & "'," & _
                          "IdNodo_Alta='" & txtIdNodo_Alta.Text & "'," & _
                          "IdUsuario_Alta='" & txtIdUsuario_Alta.Text & "'," & _
                          "Patente='" & txtPatente.Text & "'," & _
                          "Fecha_Alta='" & txtFecha_Alta.Text & "'," & _
                          "IdComisaria_Mod='" & txtIdComisaria_Mod.Text & "'," & _
                          "IdNodo_Mod='" & txtIdNodo_Mod.Text & "'," & _
                          "IdUsuario_Mod='" & txtIdUsuario_Mod.Text & "'," & _
                          "Fecha_Mod='" & txtFecha_Mod.Text & "'," & _
                          "Captura='" & txtCaptura.Text & "'," & _
                          "Recuperado='" & txtRecuperado.Text & "'," & _
                          "Observaciones='" & txtObservaciones.Text & _
                          "' WHERE IdDenuncia='" & ViewState("IdDenuncia") & "'"
                    Cmd = New OracleCommand(Sql, Cnx)
                    Cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("No puedo Actualizar (UPDATE) tabla Denuncias " & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                           "Error proceso btnAceptar_Click panel Edicion btnAceptarEdicion - Denuncias.aspx")
                    MsgBox(ex.Message.ToString())
                Finally
                End Try
                LiberarRecursos()
                MostrarTablaDenuncias()
                CargarDDLPatentes_y_DDLEliminar()
                CargarDDLNodos()
            Case "Eliminar"
                If DDLEliminar.SelectedValue = "Su Elección" Then
                    lblCrtlDDLEliminar.Visible = True
                    Exit Sub
                Else
                    lblCrtlDDLEliminar.Visible = False
                End If
                Try
                    Sql = "DELETE FROM Denuncias WHERE Patente='" & DDLEliminar.SelectedValue & "'"
                    Cmd = New OracleCommand(Sql, Cnx)
                    Cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("No puedo ejecutar : DELETE FROM Denuncias WHERE Patente='" & DDLEliminar.SelectedValue & "'" & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                           "Error proceso btnAceptar_Click panel Eliminar btnAceptarPanelEliminar - Denuncias.aspx")
                Finally
                End Try
                LiberarRecursos()
                MostrarTablaDenuncias()
                CargarDDLPatentes_y_DDLEliminar()
                CargarDDLNodos()
            Case "Agregar"
                Try
                    Sql = "INSERT INTO Denuncias (IdDComisaria_Alta,IdNodo_Alta,IdUsuario_Alta,Patente,Fecha_Alta,IdDComisaria_Mod,IdNodo_Mod,IdUsuario_Mod,Fecha_Mod,Captura,Recuperado,Observaciones) VALUES (" & _
                          "'" & txtIdComisaria_Alta.Text & "'," & _
                          "'" & txtIdNodo_Alta.Text & "'," & _
                          "'" & txtIdUsuario_Alta.Text & "'," & _
                          "'" & txtPatente.Text & "'," & _
                          "'" & txtFecha_Alta.Text & "'," & _
                          "'" & txtIdComisaria_Mod.Text & "'," & _
                          "'" & txtIdNodo_Mod.Text & "'," & _
                          "'" & txtIdUsuario_Mod.Text & "'," & _
                          "'" & txtFecha_Mod.Text & "'," & _
                          "'" & txtCaptura.Text & "'," & _
                          "'" & txtRecuperado.Text & "'," & _
                          "'" & txtObservaciones.Text & "')"
                    Cmd = New OracleCommand(Sql, Cnx)
                    Cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("No puedo Agregar (INSERT INTO) tabla Denuncias " & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                           "Error proceso btnAceptar_Click panel Agregar btnAceptarEdicion - Denuncias.aspx")
                Finally
                End Try
                LiberarRecursos()
                LimpiarPanelEdicion()
                MostrarTablaDenuncias()
                CargarDDLPatentes_y_DDLEliminar()
                CargarDDLNodos()

        End Select
        PanelFiltro.Visible = False
        PanelEliminar.Visible = False
        PanelEdicion.Visible = False
    End Sub

    Protected Sub DDLCampos_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles DDLCampos.SelectedIndexChanged
        If DDLCampos.SelectedValue = "Su Elección" Then
            Exit Sub
        End If
        Cnx = New OracleConnection(oradb)
        Try
            Cnx.Open()
            Sql = "SELECT DISTINCT " & DDLCampos.SelectedValue & " FROM Denuncias ORDER BY " & DDLCampos.SelectedValue & " ASC"
            Cmd = New OracleCommand(Sql, Cnx)
            DDLDatos.Items.Clear()
            DDLDatos.Items.Add("Su Elección")
            dr = Cmd.ExecuteReader()
            While dr.Read()
                DDLDatos.Items.Add(dr.Item(0))
            End While
        Catch ex As Exception
            MsgBox("No puedo abrir recordset = SELECT DISTINCT " & DDLCampos.SelectedValue & " FROM Denuncias ORDER BY " & DDLCampos.SelectedValue & " ASC" & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                   "Error proceso DDLCampos_SelectedIndexChanged - Denuncias.aspx")
        Finally
        End Try
        LiberarRecursos()
        txtSQL.Text = "SELECT * FROM Denuncias WHERE Denuncias." & DDLCampos.SelectedValue & " "
    End Sub
    Protected Sub DDL_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles DDLNodos_Alta.SelectedIndexChanged, DDLNodos_Mod.SelectedIndexChanged, _
            DDLComisarias_Alta.SelectedIndexChanged, DDLComisarias_Mod.SelectedIndexChanged, _
            DDLUsuarios_Alta.SelectedIndexChanged, DDLUsuarios_Mod.SelectedIndexChanged, _
            DDLCaptura.SelectedIndexChanged, DDLRecuperado.SelectedIndexChanged
        If sender.SelectedValue = "Su Elección" Then
            Exit Sub
        End If
        Select Case sender.id
            Case "DDLNodos_Alta" : ObtenerIdNodoAlta() : txtIdNodo_Alta.Text = Aux
            Case "DDLNodos_Mod" : ObtenerIdNodoMod() : txtIdNodo_Mod.Text = Aux
            Case "DDLComisarias_Alta" : ObtenerIdComisariaAlta() : txtIdComisaria_Alta.Text = Aux
            Case "DDLComisarias_Mod" : ObtenerIdComisariaMod() : txtIdComisaria_Mod.Text = Aux
            Case "DDLUsuarios_Alta" : ObtenerIdUsuarioAlta() : txtIdUsuario_Alta.Text = Aux
            Case "DDLUsuarios_Mod" : ObtenerIdUsuarioMod() : txtIdUsuario_Mod.Text = Aux
            Case "DDLCaptura" : txtCaptura.Text = DDLCaptura.SelectedValue
            Case "DDLRecuperado" : txtRecuperado.Text = DDLRecuperado.SelectedValue
        End Select
    End Sub
    Protected Sub btnAceptarFiltro_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAceptarFiltro.Click
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Denuncias"
        Try
            Cnx.Open()
            Cmd = New OracleCommand(txtSQL.Text, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            dr = Cmd.ExecuteReader()
            If Not dr.Read() Then
                MsgBox("La consulta no produjo resultado" & vbCrLf, MsgBoxStyle.Critical, _
                       "Error : proceso btnAceptarFiltro_Click - Denuncias.aspx")
                LiberarRecursos()
                Exit Sub
            End If
            GV2.DataSource = dr
            GV2.DataBind()
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        Finally
        End Try
        LiberarRecursos()
    End Sub

    Protected Sub DDLFiltro_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles DDLLogicos.SelectedIndexChanged, DDLDatos.SelectedIndexChanged
        If DDLCampos.SelectedValue = "Su Elección" Then
            MsgBox("Seleccione que campo usar." & vbCrLf, MsgBoxStyle.Critical, "Error proceso DDLFiltro_SelectedIndexChanged - Denuncias.aspx")
            lblCampo.Visible = True
            Exit Sub
        End If
        lblCampo.Visible = False
        If DDLLogicos.SelectedValue = "Su Elección" Then
            MsgBox("Seleccione que operador lógico usar." & vbCrLf, MsgBoxStyle.Critical, _
                   "Error proceso DDLFiltro_SelectedIndexChanged - Denuncias.aspx")
            lblLogico.Visible = True
            Exit Sub
        End If
        Select Case sender.id
            Case "DDLLogicos"
                lblLogico.Visible = False
                txtSQL.Text = txtSQL.Text & " " & DDLLogicos.SelectedValue
            Case "DDLDatos"
                lblDato.Visible = False
                txtSQL.Text = txtSQL.Text & " '" & DDLDatos.SelectedValue & "' "
        End Select
    End Sub

    Protected Sub btnLimpiarSQL_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLimpiarSQL.Click
        txtSQL.Text = ""
        DDLCampos.SelectedIndex = 0
        DDLLogicos.SelectedIndex = 0
        DDLDatos.SelectedIndex = 0
    End Sub

    Protected Sub DDLUsuarioEliminar_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DDLEliminar.SelectedIndexChanged
        If DDLEliminar.SelectedValue = "Su Elección" Then
            Exit Sub
        End If
    End Sub

    Protected Sub AceptarPanelSeleccion(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAceptarSeleccion.Click
        If DDLPatentes.SelectedValue = "Su Elección" Then
            lblCrtlDDLPatentes.Visible = True
            PanelEdicion.Visible = False
            Exit Sub
        Else
            lblCrtlDDLPatentes.Visible = False
            PanelEdicion.Visible = True
        End If
        PanelEdicion.Visible = True
        Cnx = New OracleConnection(oradb)
        Sql = "select * from Denuncias WHERE Patente = '" & DDLPatentes.SelectedValue & "'"
        Try
            Cnx.Open()
            Cmd = New OracleCommand(Sql, Cnx)
            Cmd.CommandType = Data.CommandType.Text
            dr = Cmd.ExecuteReader()
            dr.Read()
            ViewState("IdDenuncia") = dr.Item("IdDenuncia")
            txtIdComisaria_Alta.Text = dr.Item("IdComisaria_Alta") : ViewState("IdComisaria_Alta") = dr.Item("IdComisaria_Alta")
            txtIdNodo_Alta.Text = dr.Item("IdNodo_Alta") : ViewState("IdNodo_Alta") = dr.Item("IdNodo_Alta")
            txtIdUsuario_Alta.Text = dr.Item("IdUsuario_Alta") : ViewState("IdUsuario_Alta") = dr.Item("IdUsuario_Alta")
            txtPatente.Text = dr.Item("Patente") : ViewState("Patente") = dr.Item("Patente")
            txtFecha_Alta.Text = dr.Item("Fecha_Alta") : ViewState("Fecha_Alta") = dr.Item("Fecha_Alta")
            txtIdComisaria_Mod.Text = dr.Item("IdComisaria_Mod") : ViewState("IdComisaria_Mod") = dr.Item("IdComisaria_Mod")
            txtIdNodo_Mod.Text = dr.Item("IdNodo_Mod") : ViewState("IdNodo_Mod") = dr.Item("IdNodo_Mod")
            txtIdUsuario_Mod.Text = dr.Item("IdUsuario_Mod") : ViewState("IdUsuario_Mod") = dr.Item("IdUsuario_Mod")
            txtFecha_Mod.Text = dr.Item("Fecha_Mod") : ViewState("Fecha_Mod") = dr.Item("Fecha_Mod")
            txtCaptura.Text = dr.Item("Captura") : ViewState("Captura") = dr.Item("Captura")
            txtRecuperado.Text = dr.Item("Recuperado") : ViewState("Recuperado") = dr.Item("Recuperado")
            txtObservaciones.Text = dr.Item("Observaciones") : ViewState("Observaciones") = dr.Item("Observaciones")
        Catch ex As Exception
            MsgBox("No puedo abrir tabla Denuncias " & vbCrLf & ex.Message, MsgBoxStyle.Critical, _
                   "Error proceso AceptarPanelSeleccion - Denuncias.aspx")
            MsgBox(ex.Message.ToString())
        Finally
        End Try
        LiberarRecursos()
    End Sub

    Protected Sub btnCalcWin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalcWin.Click
        Dim Proceso As New Diagnostics.Process()
        Proceso.StartInfo.FileName = "calc.exe"
        Proceso.StartInfo.Arguments = ""
        Proceso.Start()
    End Sub

    Protected Sub DDLPatentes_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DDLPatentes.SelectedIndexChanged

    End Sub
End Class
